Some computer networking environments can include routers and switches that forward data and information between different computers and networks. One type of computer networking environment is an Ethernet ring topology where communication switches are arranged in a ring configuration. It is understood that a full ring Ethernet topology has a spatial property where there are two paths for any two switches to communicate. However, to prevent a packet from infinitely looping in the ring, one of the ports in any one switch in the ring is kept logically disabled or blocked for data traffic since there is no concept of source or destination stripping in an Ethernet ring. Additionally, each Ethernet switch in the ring performs MAC (Media Access Control) address learning, which acts as a topology discovery function. The learned MAC addresses are not only that of the switches in the ring, but can also include the devices that can be connected behind the ring switches. This means potentially the ring switches may learn thousands of MAC addresses.
It is understood that a failure can occur within the Ethernet ring topology. For example, a link between two ring switches can fail or a switch of the ring can malfunction or fail. If such a ring failure occurs, it is typically desirable to restore data connectivity as quickly as possible between any two devices in the ring through an alternate path. This restoration of data connectivity can be referred to as convergence of the ring. Typically, the amount of time to convergence in the ring is dependent on the time taken by each of the following four stages.
Specifically, the first stage involves the detection of a link status change due to link/switch failure or link/switch coming back up in the ring. The second stage usually involves communicating the link change to all the ring members. The third stage commonly involves recomputing the Spanning Tree Protocol (STP) state along with reprogramming all STP states for all the VLANs (virtual local area networks) that may be connected to the ring trunk ports. Note that this step involves computing the STP state of the ring ports for each of the VLANs. As such, the amount of time consumed in order to perform this step is proportional to the number of VLANs supported on the ring ports and also involves updating the hardware for each of the VLANs.
The fourth stage commonly involves purging the learned MAC addresses so that connectivity is maintained since a topology change has occurred. This ensures that the traffic is not forwarded in the wrong path and there is no “black-holing” of traffic. The amount of time consumed in this stage is proportional to the number of MAC addresses learned. Note that this stage can be especially time consuming, as there are typically a large number of learned MAC addresses on the ring ports that are usually trunk ports.
The invention may address one or more of the above issues.